package com.elaine.itpk;

import com.elaine.utils.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

/**
 * 茉莉机器人自动回复服务
 *
 * @author wrb
 * @date 2020/4/30 9:55
 */
@Slf4j
@Service
public class ItpkReplyService {

	@Value("${itpk_api_key}")
	private String apiKey;
	@Value("${itpk_api_secret}")
	private String apiSecret;

	private String URL = "http://i.itpk.cn/api.php";

	/**
	 * 参数	        描述	                                                            是否必选
	 * question	    对API的提问字符	                                                    是
	 * limit	    API最大分析次数，取值范围为2-8，值越大精确率越高，但是会影响API响应时间	否
	 * api_key	    用户的Api Key	                                                    否
	 * api_secret	用户的Api Secret	                                                否
	 * type	        定义返回结果类型（普通文本/xml/json），暂未实现，默认普通文本	        否
	 *
	 * @param question
	 * @return
	 */
	public String getItpkReply(String question) {
		Map<String, String> params = new HashMap<>(5);
		params.put("question", question);
		params.put("api_key", apiKey);
		params.put("api_secret", apiSecret);
		try {
			return HttpUtils.requestGet(URL, params, null);
		} catch (Exception e) {
			log.error("调用茉莉机器人失败！", e);
			return "Elain 出错了...";
		}
	}
}
